<?php
// 这是系统自动生成的公共文件
use think\Config;


/**
 * 字符串加密
 *
 * @param [String] $str
 * @return md5
 */
function encrypt($str)
{
    return md5(config('app.encrypt_code') . $str);
}


function jsonData($code = 1, $msg = '', $data = [])
{
    //code 0代表错误，1代表成功
    $codeV = ['error', 'success'];
    // return json_encode(['code' => $codeV[$code], 'msg' => $msg, 'data' => $data], JSON_UNESCAPED_UNICODE);
    echo json_encode(['code' => $code, 'msg' => $msg, 'data' => $data], JSON_UNESCAPED_UNICODE);
}

/**
 * 把用户输入的文本转义（主要针对特殊符号和emoji表情）
 */
function userTextEncode($str)
{
    if (!is_string($str)) return $str;
    if (!$str || $str == 'undefined') return '';

    $text = json_encode($str); //暴露出unicode
    $text = preg_replace_callback("/(\\\u[ed][0-9a-f]{3})/i", function ($str) {
        return addslashes($str[0]);
    }, $text); //将emoji的unicode留下，其他不动，这里的正则比原答案增加了d，因为我发现我很多emoji实际上是\ud开头的，反而暂时没发现有\ue开头。
    return json_decode($text);
}

/**
 * 解码上面的转义
 */
function userTextDecode($str)
{
    $text = json_encode($str); //暴露出unicode
    $text = preg_replace_callback('/\\\\\\\\/i', function ($str) {
        return '\\';
    }, $text); //将两条斜杠变成一条，其他不动
    return json_decode($text);
}

/**
 * 生成订单号
 */
function get_sn()
{
    return date('YmdHis') . rand(100000, 999999);
}
